import java.util.Scanner;

public class SalaryCalculator {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);

		// 循环输入工作时间和工资数
		while (true) {
			System.out.print("请输入工作时间（小时，最大100小时）: ");
			int hours = scanner.nextInt();
			if (hours > 100) {
				System.out.println("工作时间不能超过100小时，请重新输入！");
				continue;
			}

			System.out.print("请输入每小时工资数: ");
			int wagePerHour = scanner.nextInt();

			// 计算工资
			int salary = calculateSalary(hours, wagePerHour);

			// 输出工资
			System.out.printf("该雇员的工资为：%.2d元\n", salary);

			// 询问是否继续输入
			System.out.print("是否继续输入其他雇员的数据？（y/n）: ");
			String continueInput = scanner.next();
			if (!"y".equalsIgnoreCase(continueInput)) {
				break;
			}
		}

		scanner.close();
	}

	// 计算工资的方法
	public static int calculateSalary(int hours, int wagePerHour) {
		int salary = 0;
		if(hours < 0|| wagePerHour < 0) {
			throw new IllegalArgumentException("工作时间或工资数不能为负数！");
		}else if(hours > 100) {
			throw new IllegalArgumentException("工作时间不能超过100小时！");
		}
		// 正常工作时间的工资
		if (hours <= 40) {
			salary = hours * wagePerHour;
		} else {
			// 40小时内的工资
			salary += 40 * wagePerHour;

			// 超过40小时但不超过50小时的工资（1.5倍）
			if (hours <= 50) {
				salary += (hours - 40) * wagePerHour * 1.5;
			}

			// 超过50小时的工资（前50小时按上面计算，超过部分3倍）
			if (hours > 50) {
				salary += (50 - 40) * wagePerHour * 1.5; // 40-50小时的加班工资
				salary += (hours - 50) * wagePerHour * 3; // 超过50小时的加班工资
			}
		}

		return salary;
	}
}